package com.gitee.feizns.quickstart.expiring.map;

import net.jodah.expiringmap.ExpiringMap;

/**
 * {@link ExpiringMap}
 * @author feizns
 * @since 2025/4/14
 */
public abstract class ExpiringMaps {

//    /**
//     * 之
//     * @return {@link ExpiringMap }<{@link K }, {@link V }>
//     */
//    public static <K, V> ExpiringMap<K, V> of(Duration duration) {
//        return ExpiringMap.builder().variableExpiration().expirationPolicy(ExpirationPolicy.CREATED).expiration(duration.getSeconds(), TimeUnit.SECONDS).build();
//    }
//
//    @SneakyThrows
//    public static void main(String[] args) {
//
//        ExpiringMap<String, Object> map = of(Duration.ofSeconds(1));
//        map.put("test", "hello", 5, java.util.concurrent.TimeUnit.SECONDS);
//        System.out.println(map.get("test"));
//        Thread.sleep(3000);
//        map.resetExpiration("test");
//        System.out.println(map.get("test"));
//        Thread.sleep(4000);
//        System.out.println(map.get("test"));
//    }

}
